package leetcode_100;

import helpclass.ListNode;

/**
 *@author 周杨
 *RemoveNthNodeFromEndOfList_19 移除链表中倒数第K个元素
 *describe:用快慢指针的思想 AC 55%
 *2018年12月22日 下午3:17:35
 */
public class RemoveNthNodeFromEndOfList_19 {
	public ListNode removeNthFromEnd(ListNode head, int n) {
        ListNode run=head,tail=head;
        while(n>0) {
        	n--;
        	tail=tail.next;
        }
        if(tail==null) {
        	run=head.next;
        	head.next=null;
        	return run;
        }
        while(tail.next!=null) {
        	run=run.next;
        	tail=tail.next;
        }
        tail=run.next.next;
        run.next=tail;
        return head;
    }
}
